Skip to content

ci(*:skip): Migrate CI to uv#6693

Open
danieljanes wants to merge 37 commits intomainfrom
migrate-ci-to-uv
Open

ci(*:skip): Migrate CI to uv#6693
danieljanes wants to merge 37 commits intomainfrom
migrate-ci-to-uv

Conversation

@danieljanes
Copy link
Collaborator

Merge after #6679

danieljanes and others added 30 commits February 28, 2026 23:36
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings March 4, 2026 20:43
@danieljanes danieljanes changed the base branch from main to migrate-add-uv March 4, 2026 20:46
@danieljanes danieljanes changed the title Migrate ci to uv ci(*:skip): Migrate CI to uv Mar 4, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the Flower framework project's CI and local developer workflows from Poetry to uv. uv was already being used by the devtool project, and this change completes the migration by updating all GitHub Actions workflows, shell scripts, and documentation to use uv sync, uv run, uv build, and uv publish instead of Poetry commands. The bootstrap action is also simplified by removing the poetry-skip and uv-skip optional flags, making uv always available.

Changes:

  • Updated .github/actions/bootstrap/action.yml to always install uv (removing Poetry and related skip flags)
  • Updated all .github/workflows/*.yml CI jobs to use uv sync --frozen and uv run --no-sync instead of python -m poetry install and direct script calls
  • Updated framework/pyproject.toml to add [tool.uv] and [tool.uv.sources] configuration, and [tool.coverage.run] data_file config
  • Updated framework/dev/*.sh scripts to use uv build and uv publish
  • Updated documentation (framework/docs/source/*.rst, dev/README.md, framework/uv.md) to reflect the uv-based workflow

Reviewed changes

Copilot reviewed 29 out of 30 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
.github/actions/bootstrap/action.yml Removed Poetry/uv skip flags; uv is now always installed
.github/workflows/framework-test.yml Migrated install+run steps to uv
.github/workflows/framework-e2e.yml Migrated install+run steps to uv, removed poetry-skip
.github/workflows/framework-release.yml Replaced poetry publish with uv publish
.github/workflows/framework-release-nightly.yml Replaced poetry version with tomllib for name/version extraction
.github/workflows/framework-docs.yml Migrated install and doc build steps to uv
.github/workflows/framework-docs-update-translations.yml Migrated to uv commands
.github/workflows/framework-devtools.yml Migrated to uv commands
.github/workflows/build-deploy-non-framework-docs.yml Migrated to uv; removed uv-skip
.github/workflows/intelligence-docs.yml Removed explicit uv/poetry flags (now defaults)
.github/workflows/datasets-e2e.yml Removed now-obsolete uv-skip/poetry-skip flags
.github/workflows/datasets-test.yml Removed now-obsolete uv-skip/poetry-skip flags
.github/workflows/repo-check-pr-title.yml Removed poetry-skip flag
framework/pyproject.toml Added [tool.uv], [tool.uv.sources], [tool.coverage.run]
framework/dev/test.sh Added RAY_ENABLE_UV_RUN_RUNTIME_ENV=0 for pytest under uv
framework/dev/build.sh Replaced poetry build with uv build --clear
framework/dev/publish-nightly.sh Replaced poetry build/publish with uv build/publish
framework/uv.md New documentation file for uv usage
framework/docs/source/*.rst Updated all Poetry references to uv
dev/README.md Updated to reflect framework also using uv

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

curl $tar_url --output dist/$tar_name

python -m poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}
uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The --token argument in uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} is not quoted. In GitHub Actions, ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }} is inlined directly into the shell command, so the token value should be quoted to prevent word splitting and other shell issues. The token should be passed as --token "${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}" or, better yet, provided via an environment variable that is then referenced as a quoted shell variable.

Suggested change
uv publish --token ${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}
uv publish --token "${{ secrets.PYPI_TOKEN_RELEASE_FLWR }}"

Copilot uses AI. Check for mistakes.

(your-env-name) $ pip install poetry==2.3.2

3. Install ``uv``, which is used to manage dependencies and development workflows.
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 3 instructs contributors to "Install uv" but provides no specific installation command or reference. The previous version had an explicit pip install poetry==2.3.2 command. While the prerequisites section links to the uv docs, it would be clearer to include the recommended installation command here (e.g., curl -LsSf https://astral.sh/uv/install.sh | sh) or at least a link to the uv installation page.

Suggested change
3. Install ``uv``, which is used to manage dependencies and development workflows.
3. Install ``uv``, which is used to manage dependencies and development workflows. You
can install it by following the `official installation instructions
<https://docs.astral.sh/uv/getting-started/installation/>`_ or, on Unix-like
systems, by running:
::
$ curl -LsSf https://astral.sh/uv/install.sh | sh

Copilot uses AI. Check for mistakes.
@github-actions github-actions bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label Mar 4, 2026
@danieljanes danieljanes changed the base branch from migrate-add-uv to main March 5, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants